package com.czg.jsonschema2lombokpojo.exception;

import com.sun.codemodel.JType;

/**
 * 抛出以指示尝试创建新类失败，因为同名的类已经存在（在类路径上或要生成的类型的当前映射中）。
 */
public class ClassAlreadyExistsException extends Exception {

    private static final long serialVersionUID = 7694477714975772317L;

    private final JType existingClass;

    /**
     * 在发现给定的现有类与尝试创建新类冲突时，创建一个新的异常。
     *
     * @param existingClass 在尝试创建新类时，类路径（或要生成的类映射）中已经存在的类。
     */
    public ClassAlreadyExistsException(JType existingClass) {
        super(existingClass.fullName());
        this.existingClass = existingClass;
    }

    /**
     * 获取导致此异常的相应现有类。
     *
     * @return 在尝试创建新类时，类路径（或要生成的类映射）中已经存在的类。
     */
    public JType getExistingClass() {
        return existingClass;
    }

}
